1
Bài học 7: Học truyền tải – Tận dụng Kiến thức
EvoClass-AI002Lecture 7
00:00

Chào mừng bạn đến với Bài học 7, nơi chúng tôi giới thiệu Học truyền tải. Kỹ thuật này bao gồm việc tái sử dụng một mô hình học sâu đã được huấn luyện trên một tập dữ liệu khổng lồ và tổng quát (như ImageNet) và điều chỉnh nó để giải quyết một nhiệm vụ mới, cụ thể hơn (ví dụ như thách thức FoodVision của chúng ta). Đây là yếu tố then chốt để đạt được kết quả tiên tiến nhất một cách hiệu quả, đặc biệt khi các tập dữ liệu có nhãn bị giới hạn.

1. Sức mạnh của trọng số đã được huấn luyện trước

Các mạng nơ-ron sâu học các đặc trưng theo thứ bậc. Các lớp thấp học các khái niệm cơ bản (cạnh, góc, họa tiết), trong khi các lớp sâu hơn kết hợp chúng thành các khái niệm phức tạp hơn (đôi mắt, bánh xe, các đối tượng cụ thể). Điểm mấu chốt là các đặc trưng cơ bản được học từ sớm là phổ biến và áp dụng được rộng rãi trên hầu hết các lĩnh vực thị giác.

Các thành phần của Học truyền tải

  • Nhiệm vụ nguồn: Huấn luyện trên 14 triệu ảnh và 1000 danh mục (ví dụ: ImageNet).
  • Nhiệm vụ đích: Điều chỉnh trọng số để phân loại một tập dữ liệu nhỏ hơn nhiều (ví dụ: các lớp thực phẩm cụ thể của chúng ta trong FoodVision).
  • Thành phần tận dụng: Hầu hết các tham số của mạng lưới—các lớp trích xuất đặc trưng—được tái sử dụng trực tiếp.
Lợi ích về Hiệu suất
Học truyền tải làm giảm đáng kể hai rào cản tài nguyên lớn: Chi phí tính toán (bạn tránh được việc huấn luyện toàn bộ mô hình trong vài ngày) và Yêu cầu dữ liệu (có thể đạt độ chính xác cao chỉ với hàng trăm, chứ không phải hàng nghìn ví dụ huấn luyện).
train.py
TERMINALbash — pytorch-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary advantage of using a model pre-trained on ImageNet for a new vision task?
It requires less labeled data than training from scratch.
It completely eliminates the need for any training data.
It guarantees 100% accuracy immediately.
Question 2
In a Transfer Learning workflow, which part of the neural network is typically frozen?
The final Output Layer (Classifier Head).
The Convolutional Base (Feature Extractor layers).
The entire network is usually unfrozen.
Question 3
When replacing the classifier head in PyTorch, what parameter must you first determine from the frozen base?
The batch size of the target data.
The input feature size (the output dimensions of the last convolutional layer).
The total number of model parameters.
Challenge: Adapting the Classifier Head
Designing a new classifier for FoodVision.
You load a ResNet model pre-trained on ImageNet. Its last feature layer outputs a vector of size 512. Your 'FoodVision' project has 7 distinct food classes.
Step 1
What is the required Input Feature size for the new, trainable Linear Layer?
Solution:
The Input Feature size must match the output of the frozen base layer.
Size: 512.
Step 2
What is the PyTorch code snippet to create this new classification layer (assuming the output is named `new_layer`)?
Solution:
The output size of 512 is the input, and the class count 7 is the output.
Code: new_layer = torch.nn.Linear(512, 7)
Step 3
What is the required Output Feature size for the new Linear Layer?
Solution:
The Output Feature size must match the number of target classes.
Size: 7.